Mysql 如何使用“按订单分组”和“说明”进行选择?
我想选择表中的数据,这样它就可以按userid对数据进行分组,除了该列中的一个值,并按日期、时间和描述进行排序。 我遇到的问题是,分组项目没有按日期和时间以及描述方式进行排序。 我的意思是,分组项目显示的是前一行。 我该怎么做呢。 这就是我所做的Mysql 如何使用“按订单分组”和“说明”进行选择?,mysql,database,select,Mysql,Database,Select,我想选择表中的数据,这样它就可以按userid对数据进行分组,除了该列中的一个值,并按日期、时间和描述进行排序。 我遇到的问题是,分组项目没有按日期和时间以及描述方式进行排序。 我的意思是,分组项目显示的是前一行。 我该怎么做呢。 这就是我所做的 SELECT * FROM `tbljobs` GROUP BY user_id UNION ALL SELECT * FROM tbljobs WHERE user_id = '1' ORDER BY da
SELECT * FROM `tbljobs`
GROUP BY user_id
UNION ALL
SELECT * FROM tbljobs
WHERE user_id = '1'
ORDER BY date_time DESC
LIMIT 20"
其中“1”不应分组。您的ORDER BY仅在第二条语句中执行。必须使用大括号对整个结果进行排序:
(SELECT *
FROM `tbljobs`
GROUP BY user_id)
UNION ALL
(SELECT *
FROM tbljobs
WHERE user_id = '1')
ORDER BY date_time DESC
您的orderby仅在第二条语句中执行。必须使用大括号对整个结果进行排序:
(SELECT *
FROM `tbljobs`
GROUP BY user_id)
UNION ALL
(SELECT *
FROM tbljobs
WHERE user_id = '1')
ORDER BY date_time DESC
谢谢朋友们的建议。经过很多努力,我终于自己创造了解决方案
(
SELECT *
FROM (
SELECT *
FROM tbljobs
ORDER BY date_time desc
) AS A
WHERE user_id <> '1' group by user_id
)
UNION ALL
(
SELECT *
FROM tbljobs
WHERE user_id=1
)
ORDER BY date_time DESC
谢谢朋友们的建议。经过很多努力,我终于自己创造了解决方案
(
SELECT *
FROM (
SELECT *
FROM tbljobs
ORDER BY date_time desc
) AS A
WHERE user_id <> '1' group by user_id
)
UNION ALL
(
SELECT *
FROM tbljobs
WHERE user_id=1
)
ORDER BY date_time DESC
谢谢。但是我想我没有正确地解释我的问题。该列按日期和时间按desc方式分组,但分组的用户显示的是旧作业。谢谢。但我认为我没有正确解释我的问题。该列以desc方式根据日期和时间分组,但分组的用户显示的是旧作业。