Php 如果两个或更多列具有相同的值,如何获取具有最高值的行
我有posts表,我想先显示大多数查看的帖子,但如果两个或更多列具有相同的值,我将无法得到正确的结果。我的意思是,如果一篇文章有25个视图,第二篇文章有相同的(25)个视图,那么我只得到一个结果,但我想显示所有结果。请帮帮我 这是我的密码:Php 如果两个或更多列具有相同的值,如何获取具有最高值的行,php,mysql,Php,Mysql,我有posts表,我想先显示大多数查看的帖子,但如果两个或更多列具有相同的值,我将无法得到正确的结果。我的意思是,如果一篇文章有25个视图,第二篇文章有相同的(25)个视图,那么我只得到一个结果,但我想显示所有结果。请帮帮我 这是我的密码: $real_query = mysqli_query( $connect, "SELECT id, note_topic, note_owner_id, note_by_name, views FROM user_note GROUP BY
$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"
);
只需删除按视图分组:
GROUP BY views
还要从ORDER BY子句中删除聚合:
ORDER BY MAX(views) DESC
到
我认为您正在寻找这样一个查询:
select
id, note_topic, note_owner_id, note_by_name, views
from
user_note
where
views = (select MAX(views) from user_note)
如果只有一个最大post,此查询将只返回一行,否则它将返回具有最大视图数的所有行。这将按视图数按子代顺序显示前十名记录,
包括具有相同数量俯视图的记录
SELECT
id, note_topic, note_owner_id, note_by_name, views
FROM
user_note
ORDER BY views DESC
LIMIT 10
需要注意的是:在
user\u note(views)
上添加索引应该会非常有效。这将显示视图最多的帖子,或者如果出现平局,会显示更多的帖子。它不会选择第二名、第三名等的帖子。我只得到一个result@ShubhamTripathi如果您尝试select。。从用户注释按视图顺序描述
?@fthiella ooh!感谢用户_noteorder by views desc?-否则,你的问题就很不清楚了,我只从ORDER BY Clause中得到一个ResultMove MAX(),数据库中有多少个结果?你能从你的表格中拿出一个按视图排序的样品吗?哦,对不起,兄弟,这是我的错,对不起
SELECT
id, note_topic, note_owner_id, note_by_name, views
FROM
user_note
ORDER BY views DESC
LIMIT 10