ホームページ  >  に質問  >  本文

mysql in 查询, 里面的每个条件都指定返回条数,能否实现,怎么写?

mysql in 查询, 里面的每个条件都指定返回条数,能否实现,怎么写?

SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2)

table_name 里面包含value1和value2的值有很多条,能否指定返回条数。

类似:

select * from table_name where column_name = value1 limit 5;
select * from table_name where column_name = value2 limit 5;

或有其他方法实现这个查询?

高洛峰高洛峰2717日前757

全員に返信(2)返信します

  • 高洛峰

    高洛峰2017-04-17 16:15:28

    or/in/union all の変換です。パフォーマンスも Union all よりも優れており、おっしゃるとおり戻り値の指定数も満たします。

    リーリー

    返事
    0
  • 高洛峰

    高洛峰2017-04-17 16:15:28

    あなたの SQL はあなたの説明と矛盾しているようです
    SELECT column_name(s),count(column_name(s))
    FROM table_name
    WHERE column_name(s) IN (value1,value2,.. .)
    列名ごとにグループ化

    この書き方は論理的には間違っていませんが、確か、単一テーブルの場合はmysqlの効率が高くないので、書いた後の実行計画を見てください。なんとも良いアイデアですね

    返事
    0
  • キャンセル返事