標籤:

sql 查詢如何將結果集 輸出為一段字元串?

數據如下表所示,輸出結果為要求為「b,c,d,」。

mysql資料庫中一個張表table中欄位A中的數據如下:

客戶端是PHP。

請寫出查詢語句,謝謝!


一般會有旋轉數據集的功能,不過不知道你用的啥資料庫……


使用linq to sql,query出來後select(tostring).aggregate秒殺


如果是MSSQL的話,可以這樣:

SELECT STUFF((SELECT ","+A FROM tableFOR XML PATH("")),1,1,"")


能告訴我為什麼你要這麼做么?我總覺得你的需求有問題。


MySQL :: MySQL 5.0 Reference Manual :: 12.16.1 GROUP BY (Aggregate) Functions

GROUP_CONCAT方法


不報資料庫差評.

oracle的話wm_concat


建議看下Sql Cookbook這本書,裡面有各種場景下,各種資料庫下的實現方式,當然也包括你這個結果集轉置的。



FOR XML PATH

當然,我更加願意用輪子哥的linq2sql


搜 資料庫名稱+行列轉置


SELECT concat(A) FROM Table(不知道對不對,我地鐵亂寫的)


xml for path


用pdo得到結果集,將每條記錄拼接成一個字元串就可以了。超簡單


oracle的話:(假設列名是A):

select listagg(A,",") within group(order by A) from YOUR_TABLE;

更多的用法,查詢listagg這個函數。


query出來後implode(",",$queryResult)不就可以?


with t as(

select empno,rownum rn from emp where rownum)

select a.empno,b.empno,c.empno from t a,t b,t c where a.rn=1 and b.rn=2 and c.rn=3

/


推薦閱讀:

沒有任何基礎的人怎麼學SQL?
PostgreSQL 有哪些經典入門書籍?
如何評價cmu-db的peloton資料庫?
從編程語言設計的角度,如何評價SQL語言?
一條LEFT JOIN+ORDER BY的sql語句優化問題?

TAG:SQL |