0

次のようなテーブルが 1 つあります。

テーブルニュース

Id   Name   Other_Columns
-------------------------
1    A       data 1
2    A       data 2
3    A       data 3
4    B       data 4
5    B       data 5
6    C       data 6

そして、私はこのようなものを取得する必要があります

Group A
----------
data 1
data 2
data 3

Group B
----------
data 4
data 5

Group C
----------
data 6

誰かがMySqlステートメントで私を助けてくれますか?

4

3 に答える 3

0

これは非常に簡単です。クエリは次のようになります。

グループ A の場合:

SELECT Other_Columns FROM news WHERE Name = 'A';

他のグループを取得するには、「A」の代わりに「B」と「C」を配置します。

于 2012-09-04T10:17:03.703 に答える
0

あなたが実際に何を望んでいるのかははっきりしていませんが、これでうまくいきますか?

select "Group A"
union all
select Other_Columns from news where name = "A"
union all
select "Group B"
union all
select Other_Columns from news where name = "B"
union all
select "Group C"
union all
select Other_Columns from news where name = "C"
于 2012-09-04T10:13:49.113 に答える
0

それはそれを行う必要があります:

select asdf.Name, asdf.Other_Columns from (
select
if(@prev != q.Name, @rownum:=1, @rownum:=@rownum+1) as rownumber, @prev:=q.Name, q.*
from (
select
Name,
Other_Columns
from
yourTable yt
, (select @rownum:=0, @prev:='') r
order by Id, Name, Other_Columns
)q
)asdf 
where asdf.rownumber <= 5

これにより、最新の 5 つが取得されます。前述のように、データのフォーマットはプレゼンテーション層で行われます。

于 2012-09-04T10:26:04.400 に答える