如何通过对MySQL表中的一个表中的项进行分组来获取有限的行

扎费拉尼

我有一个名为“ news_box”的表。那有3场。“ channel_id”,“ news_id”,“ read”

channel_id和news_id一起是主键。

数据样本可以这样做:

channel_id | news_id | read
-----------|---------|-----
1          | 1       | 0
1          | 2       | 0
2          | 3       | 0
3          | 4       | 0
2          | 5       | 0
3          | 6       | 0
3          | 7       | 0
3          | 8       | 0
3          | 9       | 0
1          | 10      | 0
1          | 11      | 0
1          | 12      | 0
2          | 13      | 0
3          | 14      | 0
2          | 15      | 0
3          | 16      | 0
3          | 17      | 0
3          | 18      | 0
3          | 19      | 0
1          | 20      | 0

现在我想为每个“ channel_id”获取3行“ news_id”。“ news_id”和“ channel_id”与自身表结合。

结果样本可以这样:

channel_id | news_id | read
-----------|---------|-----
1          | 1       | 0
1          | 2       | 0
2          | 3       | 0
3          | 4       | 0
2          | 5       | 0
3          | 6       | 0
3          | 7       | 0
1          | 10      | 0
2          | 13      | 0

最好的祝福。

扎费拉尼

回答:

set @num := 0, @group := 0;

select channel_id, `news_id`, `read`
from 
(
   select channel_id, `news_id`, `read`,
      @num := if(@group = `channel_id`, @num + 1, 1) as row_number,
      @group := `channel_id` as dummy
  from news_box
  order by `channel_id`
) as x where x.row_number <= 3;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用linq从表中获取有限的行

来自分类Dev

通过从mysql中的另一个表中获取数据来从表中删除数据

来自分类Dev

如何通过Yii中的链接表从一个表中获取行?

来自分类Dev

如何更新一个表中的行,而另一个表中有重复项

来自分类Dev

如何通过查询另一个表中的数据选择一个表中的所有行

来自分类Dev

如何通过与另一个表的id列进行比较来更新表中的记录?

来自分类Dev

如何通过在MySQL的另一个表中创建行来选择表中的列

来自分类Dev

获取表中每一行的文本,将它们与另一个表中的文本进行匹配,并创建一个包含所有匹配项的新表

来自分类Dev

从 mysql 表中删除并通过一个查询获取有关已删除行的信息

来自分类Dev

如何从 SQLite 中的一个表中获取所有父行和子行?

来自分类Dev

如何从mysql表中获取最后一个列名?

来自分类Dev

如何从两个不同的表中获取两个字段的计数,并将MySQL中另一个表中的字段分组

来自分类Dev

如何从 2 个表中进行选择,并在第一个循环的每 5 行中显示表 2 中的一项?

来自分类Dev

如何在winforms中通过c#从一个表中获取所有记录并将其保存在另一个表中?

来自分类Dev

如何通过将表中的多行连接到另一个表中的一行来合并 Excel 中的查询?

来自分类Dev

如何按 MySQL 中的最后一个重复项对记录进行分组?

来自分类Dev

通过加入不在另一个表中的三个表来获取记录

来自分类Dev

按日期获取最新行,但按另一个表中的列分组

来自分类Dev

如何返回一个MySQL查询,其中联接表中没有计数的行?

来自分类Dev

如何从一个表中的列值最大的表中获取行?

来自分类Dev

MySql:从另一个表中通过其父表的ID获取表的总和,并返回所有具有与parent_id相关的总和值的子级

来自分类Dev

如何从一个表中获取所有列,而从另一表中获取只有ID的一列?-MySQL

来自分类Dev

mysql在一个表中获取行,在另一表中获取日期,但是一年不行

来自分类Dev

我在sql中有3个表如何从最后一个表中获取数据

来自分类Dev

如何通过引用MySQL中的另一个表从表中选择数据

来自分类Dev

MySQL获取另一个表中所有行的计数,该表中的值等于当前表中的列

来自分类Dev

如何获取一个MySql表而不是另一个MySql表中存在的记录

来自分类Dev

MySql根据另一个表中的MAX值选择一个表中的所有行

来自分类Dev

如何从另一个表中的列日期之间获取一个表中的所有记录

Related 相关文章

  1. 1

    如何使用linq从表中获取有限的行

  2. 2

    通过从mysql中的另一个表中获取数据来从表中删除数据

  3. 3

    如何通过Yii中的链接表从一个表中获取行?

  4. 4

    如何更新一个表中的行,而另一个表中有重复项

  5. 5

    如何通过查询另一个表中的数据选择一个表中的所有行

  6. 6

    如何通过与另一个表的id列进行比较来更新表中的记录?

  7. 7

    如何通过在MySQL的另一个表中创建行来选择表中的列

  8. 8

    获取表中每一行的文本,将它们与另一个表中的文本进行匹配,并创建一个包含所有匹配项的新表

  9. 9

    从 mysql 表中删除并通过一个查询获取有关已删除行的信息

  10. 10

    如何从 SQLite 中的一个表中获取所有父行和子行?

  11. 11

    如何从mysql表中获取最后一个列名?

  12. 12

    如何从两个不同的表中获取两个字段的计数,并将MySQL中另一个表中的字段分组

  13. 13

    如何从 2 个表中进行选择,并在第一个循环的每 5 行中显示表 2 中的一项?

  14. 14

    如何在winforms中通过c#从一个表中获取所有记录并将其保存在另一个表中?

  15. 15

    如何通过将表中的多行连接到另一个表中的一行来合并 Excel 中的查询?

  16. 16

    如何按 MySQL 中的最后一个重复项对记录进行分组?

  17. 17

    通过加入不在另一个表中的三个表来获取记录

  18. 18

    按日期获取最新行,但按另一个表中的列分组

  19. 19

    如何返回一个MySQL查询,其中联接表中没有计数的行?

  20. 20

    如何从一个表中的列值最大的表中获取行?

  21. 21

    MySql:从另一个表中通过其父表的ID获取表的总和,并返回所有具有与parent_id相关的总和值的子级

  22. 22

    如何从一个表中获取所有列,而从另一表中获取只有ID的一列?-MySQL

  23. 23

    mysql在一个表中获取行,在另一表中获取日期,但是一年不行

  24. 24

    我在sql中有3个表如何从最后一个表中获取数据

  25. 25

    如何通过引用MySQL中的另一个表从表中选择数据

  26. 26

    MySQL获取另一个表中所有行的计数,该表中的值等于当前表中的列

  27. 27

    如何获取一个MySql表而不是另一个MySql表中存在的记录

  28. 28

    MySql根据另一个表中的MAX值选择一个表中的所有行

  29. 29

    如何从另一个表中的列日期之间获取一个表中的所有记录

热门标签

归档