草庐IT

sql - 有没有办法在不使用 CASE 的情况下将行转换为列?

有很多关于将各种数据库的行转为列的帖子。他们似乎分为两个阵营,使用案例语句或使用数据库供应商的内置功能。我正在使用MySQL并且到目前为止还没有在任何内置函数上找到任何东西,这些函数可以让我以任意未知数量的行值为中心,我想将这些行值转换为列。如果我提前不知道这些值,我就无法构建在stackoverflow上频繁出现的CASE查询。我想知道MySQL中是否有与其他数据库中类似的东西,称为交叉表或数据透视表:-Postgresql:http://www.postgresql.org/docs/current/static/tablefunc.html-甲骨文:http://www.orac

MYSQL - 展平表查询

我在使用以下查询时遇到了一些问题,我不确定如何修改它以提供我想要的输出,下面将对此进行详细说明:SELECTlistup.NodeNumberAsNode,listup.StationAsExtension,CASEWHENVoiceServer=1THENKeyDescriptionELSE''ENDAS'Key1',CASEWHENVoiceServer=2THENKeyDescriptionELSE''ENDAS'Key2',CASEWHENVoiceServer=3THENKeyDescriptionELSE''ENDAS'Key3',CASEWHENVoiceServer=4

mysql - 如何在 MySQL 中将键/值样式表转换为普通表

我正在尝试将下表转换成更容易查询的形式。历史数据很重要,所以它不能被丢弃,而且Variable的选项数量不定(我只需要其中一些在最终结果中)。ThisisalmostexactlywhatIneedtodobutitdoesn'taccountforthehistoricaldataandassumesthattheVariablesareuniquetotheUser_IDinmycaseauser_IDmayhave3or4ofthesamevariableandIneedthenewestone.See>MySQLPivotTable|UUID|UUID_User|Variabl

mysql - 计算另一个表中存在的值并旋转结果

我想从Chat表中计算值:IDREASON_IDDEPARTMENT_ID14612461350145025100161002那些存在于Reason表中:IDREASON_NAME46Reason150Reason2100Reason3DEPARTMENT_ID=1,我想要这样的结果:ID46ID50ID100211我该怎么做? 最佳答案 您可以尝试以下方法:set@sql=null;selectgroup_concat(distinctconcat('sum(r.id=',r.id,')asID',r.id))into@sqlfr

mysql - 如何选择表行值作为值总和的列

我有下表:CREATETABLEproducts(dateDATE,productnameVARCHAR(80),quantityINT(5));INSERTINTO`products`(`date`,`productname`,`quantity`)VALUES('2016-12-16','toy',5);INSERTINTO`products`(`date`,`productname`,`quantity`)VALUES('2016-12-18','santa',8);INSERTINTO`products`(`date`,`productname`,`quantity`)VALU

python - 棘手的 MySQL 查询而不是 Python 脚本来实现结果?

在开始编写Python脚本之前,我想看看单独使用MySQL是否可以产生结果。我有一个产品列表:PIDProduct-----------1AAA2ABC3BAC4CAB5CBA我有一份多次订购这些产品的公司名单:CIDPID-------112315321123期望的结果:CIDAAAABCBACCABCABCBA---------------------------1YY2Y3Y我如何在Python中执行此操作?创建一个包含列(CIDAAAABCBACCABCABCBA)的临时表运行2个循环并在所需的列匹配时更新所需的表。只是想看看是否存在仅MySQL的解决方案。p.s:这只是一个示

mysql - 如何对数据透视表中的字段求和()

我有一个类似这样的MySQL表Table'club_funds'|Income|Label|Amount|+-----------+-------------------------+---------+|1|Membershipfees|1000||0|Gatheringpartycosts|500||1|Garagesaleprofit|250|我设法把它变成了这个|Label|Income|Expense|+-------------------------+--------+---------+|Membershipfees|1000|||Gatheringpartycosts

MySQL Group By 并水平显示

假设我有下表:1)tblScore============================DateVendorIDScore============================12/09/0112001A12/09/0112001A12/09/0112002B12/09/0212003C12/09/0212003A12/09/0312001C============================我有这个问题:SELECTts.VendorID,ts.Score,COUNT(*)FROMtrxscoretsGROUPBYts.VendorID,ts.ScoreORDERBYts.V

具有固定列数的 MySQL Pivot 数据

以下是我的SELECT语句,它很好地转换了我的数据。我的数据是这样的:col_a|col_b|col_c|col_d|Score-------------------------------------stuff|stuff|stuff|null|5stuff|stuff|stuff|title_a|3stuff|stuff|stuff|title_x|4我当前的Pivot语句如下所示:SELECT`col_a`,`col_b`,`col_c`,MAX(CASE`col_d`WHEN'title_a'THEN`col_d`end)AS'Title',MAX(CASE`col_d`WHE

mysql - 在mysql中选择动态列

是否可以像这样遍历一个表:mysql>select*from`stackoverflow`.`Results`;+--------------+---------+-------------+--------+|ID|TYPE|CRITERIA_ID|RESULT|+--------------+---------+-------------+--------+|1|car|env|1||2|car|gas|||3|car|age|||4|bike|env|1||5|bike|gas|||6|bike|age|1||7|bus|env|1||8|bus|gas|1||9|bus|age