如果两个或多个列具有相同的值

时间:2015-12-08 13:13:57

标签: php mysql

我有帖子表,我想首先显示最常查看的帖子,但如果两列或多列具有相同的值,则无法获得正确的结果。我的意思是,如果一个帖子有25个视图,第二个有相同的(25)个视图,那么我只得到一个结果,但我想显示所有结果。请帮帮我..

这是我的代码:

$real_query = mysqli_query(
  $connect,
  "SELECT id, note_topic, note_owner_id, note_by_name, 
   views FROM user_note GROUP BY views ORDER BY MAX(views) DESC"
);

3 个答案:

答案 0 :(得分:1)

只需按视图删除分组:

GROUP BY views

还从ORDER BY子句中删除聚合:

ORDER BY MAX(views) DESC

ORDER BY views DESC

答案 1 :(得分:1)

我认为您正在寻找像这样的查询:

select
  id, note_topic, note_owner_id, note_by_name, views
from
  user_note
where
  views = (select MAX(views) from user_note)

如果只有一个最大帖子,则此查询将返回1行,否则将返回具有最大视图数的所有行。

答案 2 :(得分:0)

这将按照后代顺序显示按视图数量排序的前十个记录 包括具有相同顶视图数量的记录

SELECT 
    id, note_topic, note_owner_id, note_by_name, views 
FROM 
    user_note 
ORDER BY views DESC
LIMIT 10