
PHP和MYSQL查询语句查出30天内反馈问题次数最多的用户的ID
我也不知道怎么能够清除表达我的意思,如图是数据库mkadd中的一个叫feedback的表表格式图1,表内容如图2fanku是反馈的内容shijian是反馈的日期uid就是...
我也不知道怎么能够清除表达我的意思,
如图是数据库mkadd中的一个叫feedback的表
表格式图1,表内容如图2
fanku 是反馈的内容
shijian是反馈的日期
uid就是用户的ID
select语句要怎么写才能查询出 30天内,反馈次数最多的那个用的ID;
就像图2中,uid是1的用户反馈的数量比uid是2的多;
完整的sql语句要怎么写,才能得到反馈次数最多的那个用户的id,条件是30天内
我知道date_format(shijian,'%y%m')=date_format(curdate(),'%y%m')是查询30天内记录的意思,但是具体的sql语句我不会写,
谁能帮帮我写一个完整的语句吗,千恩万谢。 展开
如图是数据库mkadd中的一个叫feedback的表
表格式图1,表内容如图2
fanku 是反馈的内容
shijian是反馈的日期
uid就是用户的ID
select语句要怎么写才能查询出 30天内,反馈次数最多的那个用的ID;
就像图2中,uid是1的用户反馈的数量比uid是2的多;
完整的sql语句要怎么写,才能得到反馈次数最多的那个用户的id,条件是30天内
我知道date_format(shijian,'%y%m')=date_format(curdate(),'%y%m')是查询30天内记录的意思,但是具体的sql语句我不会写,
谁能帮帮我写一个完整的语句吗,千恩万谢。 展开
展开全部
// 如果你的用户表中已经有了该用户的反馈数目记录,
// 那你可以直接倒序查询再加个 Limit即可 :
$sql = "SELECT * FROM users ORDER BY item_number DESC";
// 如果没有的话, 那就遍历你的Users表, 分别查询出用户的反馈条数再进行排序吧
$sql = "SELECT id FROM users";
$users = []; // 取出所有用户ID
$result = [];
foreach ($users as $value) {
$sql = "SELECT count(id) AS number FROM feedback where id = $value";
$r = mysql_query($sql); // 取出条数
$number = mysql_fetch_assoc($r)['number'];
$result[] = $number;
}
rsort($result);
echo '<pre>';
print_r($result); // 最终结果, 取出30条即可
ehco '</pre>';
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询