给出表
| id | user |
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
| 1 | 4 |
| 2 | 5 |
| 2 | 6 |
| 2 | 7 |
| 2 | 8 |
我想编写一个查询,它将为id = 1返回3行,为id = 2返回3行(顺序无关紧要,但我认为可以强制执行)。
所以最终结果应该是这样的(注意,每个id有3行):
| id | user |
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
| 2 | 5 |
| 2 | 7 |
| 2 | 8 |
我该如何编写这个SQL?我对HAVING的尝试到目前为止没有带来任何有用的东西。
谢谢你, 格言。
答案 0 :(得分:0)
答案 1 :(得分:0)
several questions here on SO覆盖了这个区域。
答案 2 :(得分:0)
我怀疑你想要的是
SELECT DISTINCT *
FROM my_table;
但这不是你所说的问题的答案,如果我正确地阅读它,它似乎需要三个任意选择的行。
答案 3 :(得分:0)
您可以使用:
select top 3 * from [Table_Name] where id='1' or id='2'