gpt4 book ai didi

mysql - 为每个值选择两行

转载 作者:行者123 更新时间:2023-11-29 07:25:34 26 4
gpt4 key购买 nike

我的表格如下所示:

ID - USER  - LOCATION
1 - Steve - home
2 - Steve - work
3 - Steve - school
4 - Eve - home
5 - Eve - work
6 - Eve - school
7 - RJ - school
etc.

我怎样才能从所有用户那里得到两个位置?

编辑

输出应该是这样的:

ID - USER  - LOCATION
1 - Steve - home
2 - Steve - work
4 - Eve - home
5 - Eve - work
7 - RJ - school

最佳答案

DROP TABLE IF EXISTS my_table;

CREATE TABLE my_table
(ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY
,USER VARCHAR(12) NOT NULL
,LOCATION VARCHAR(12)
);

INSERT INTO my_table VALUES
(1 ,'Steve','home'),
(2 ,'Steve','work'),
(3 ,'Steve','school'),
(4 ,'Eve','home'),
(5 ,'Eve','work'),
(6 ,'Eve','school'),
(7 ,'RJ','school');

例如:

SELECT x.*
FROM my_table x
JOIN my_table y
ON y.user = x.user
AND y.id <= x.id
GROUP
BY x.id
HAVING COUNT(*) <=2;
+----+-------+----------+
| ID | USER | LOCATION |
+----+-------+----------+
| 1 | Steve | home |
| 2 | Steve | work |
| 4 | Eve | home |
| 5 | Eve | work |
| 7 | RJ | school |
+----+-------+----------+

关于mysql - 为每个值选择两行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34674838/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com