0

プログラミング言語でループを使用するだけでなく、MySQL で次のコードを記述するより簡潔な方法はありますか? table_vw には多くの行といくつかの列があり、sth 列の値は 0 から 7 の間です

table_vw

sth sth_else sth_else ...
7      
.
.
6
.
.
5
.
.
4
.
.
3
.
.
2
.
.
1
.
.
0
.
.


(
SELECT *
FROM table_vw
WHERE sth = 7
LIMIT 12
)
UNION
(
SELECT *
FROM table_vw
WHERE sth = 6
LIMIT 12
)
UNION
(
SELECT *
FROM table_vw
WHERE sth = 5
LIMIT 12
)
UNION
(
SELECT *
FROM table_vw
WHERE sth = 4
LIMIT 12
)
UNION
(
SELECT *
FROM table_vw
WHERE sth = 3
LIMIT 12
)
UNION
(
SELECT *
FROM table_vw
WHERE sth = 2
LIMIT 12
)
UNION
(
SELECT *
FROM table_vw
WHERE sth = 1
LIMIT 12
)
UNION
(
SELECT *
FROM table_vw
WHERE sth = 0
LIMIT 12
)
4

1 に答える 1

0

私があなたの質問を正しく理解していれば、あなたは非常に近いです.

あなたに必要なのは

Select * 
From table_vw
Where sth <= 7 AND sth >= 0
Limit 12;

where ステートメントには、作成したすべての共用体が組み込まれています。

sth 列ごとに 12 件の限られた結果を取得しようとしている場合、あなたが持っているものだけが偉業を達成する唯一の方法かもしれません。

于 2012-07-30T18:24:55.610 に答える