草庐IT

distinct

全部标签

MySQL 投票表,查找每个用户对条目的最新投票,并根据值进行计数

使用我未创建的数据库结构并希望在简单的MySQL查询上获得一些帮助。我有一个投票表votes,其中包含以下字段:vote_id=唯一投票标识符item_id=投票条目的idvoter_id=参与投票的成员(member)idvote_date=投票日期vote=投票类型(1或2)每个用户可以对item_id指定的站点条目进行多次投票。他们可以投1票即“喜欢”票,或投2票即“反对”票。每次他们投票时,都会创建一个新记录。我希望能够找到每个用户在特定item_id上的最新vote值,然后能够实际对投票列求和或计算投票值是一个“喜欢”(值为1)例如vote_iditem_idvoter_id

mysql - 在超大 MYSQL 表中查找 varchar 列的不同值

我想在一个超大的MYSQL表(10亿行)中找到一个varchar列的不同值。我有以下解决方案:1.selectdistinct(col_name)frommytable;2.exportthiscolumntoatextfileincrementally(selectcol_namefrommytablewheremyid>xandmyid第一种方法的问题(即使列被索引)是查询可能会在很长一段时间内崩溃,然后您需要重新开始。我倾向于第二种方式,还有其他更快的方式吗? 最佳答案 ......SELECTcol_nameFROMmyta

跨列的 MySQL 不同值

我有下表:idlbrblsrschbkot1100001000110001100011000110001100002010000010001010000030010000100011000000400010000000500010000000我希望能够获得所有列(不包括0)的总不同值,因此结果如下:CodeQty100008100017最简单/最好的方法是什么?谢谢,斯图 最佳答案 你可以做到SELECTcol1,COUNT(*)FROM(SELECTlbAScol1FROMtableUNIONALLSELECTrbFROMtabl

mySQL - 在两列中选择唯一值

我真的找不到通过sql从数据库(mySQL)获取唯一数据的简单甚至任何解决方案。我给个例子(简体):表tfruit|color|weight-----------------------apple|red|34kiwi|red|23banana|yellow|100kiwi|black|3567apple|yellow|23banana|green|2345pear|green|1900现在我想要输出-像distinct(apple)和distinct(color)这样的东西一起排序重量描述:kiwi|black|3567banana|green|2345apple|red|34梨|绿

mysql - 获取 mysql 中不同重复 ID 的计数

这是查询selectcount(*),ss.pname,ttu.user_id,ttl.location_name,group_concat(em.customer_id),count(em.customer_id)fromsesealasss,track_and_trace_userasttu,track_and_trace_locationasttl,eseal_mappingasemwheress.real_id=em.e_idandem.user_id=ttu.user_idandttu.location_id=ttl.location_idgroupbyss.pname,tt

MySQL:选择问题

有两个表:wes-contains8000rows,with2000distinctmasternames(masternameisacolumninwes)wem-contains2100rows,with2100distinctnames(nameisacolumninwem)我正在尝试获取wem中存在的名称,但不是wes中的主名称:SELECTnameFROMwemWHEREnameNOTIN(SELECTDISTINCTmasternameFROMwes)但出于某种原因,我的查询没有返回任何行,即使wem中有大约100个名称在wes中不作为主名称存在。有什么问题吗?谢谢!

mysql - 在大 View 上优化 MySQL GROUP BY 或 DISTINCT

考虑一个由多个表组成的View...例如v_active_car,它由连接到body的表car组成>、engine、wheels和stereo。它可能看起来像这样:v_active_carsViewSELECT*FROMcarINNERJOINbodyONcar.body=body.body_idINNERJOINengineONcar.engine=engine.engine_idINNERJOINwheelsONcar.wheels=wheels.wheels_idINNERJOINstereoONcar.stereo=stereo.stereo_idWHEREcar.active

mysql - 从 MySQL 中具有不同列的表的多个连接结果中删除重复项

我正在尝试通过一条语句从3个相关表中提取数据(因为它们都共享一个公共(public)字符串索引)。我无法阻止MySQL返回两个表的乘积,从而使结果集比我想要的大得多。每个表都有不同数量的列,无论如何我宁愿不使用UNION,因为每个表中的数据都是独立的。这是一个例子:表X是主表,有字段AB。表Y有字段ACD。表Z有字段AEFG。-我理想的结果应该是这样的形式:A1B1C1D1E1F1G1A1B2C2D2000000A2B3C3D3E2F2G2A2B40000E3F3G3等...-这是我尝试过的最简单的SQL,它显示了我的问题(也就是说,它返回由A中的数据索引的Y*Z的乘积:SELECTD

mysql - 如何避免截然不同

我有一个在使用DISTINCT时有效的查询。但是我有一种感觉,我可以用一种可以帮助我避免使用DISTINCT的方式重写查询,这将使数据库更容易(更快)处理查询。如果重写查询没有意义,请解释,如果有,请查看简化的查询并给我提示如何重新制定它,这样我就不会首先得到重复项。SELECT Us.user_id, COUNT( DISTINCT Or.order_id ) AS ordersFROM users AS UsLEFT JOIN events AS Ev ON Ev.user_id = Us.user_idLEFT JOIN orders AS Or ON Or.event_id =

mysql - SQL:在 SUM 中添加一个 Distinct

我有一张table,上面有一些table:name|test_date|score-----------------------jon|2012:07:01|95jon|2012:07:01|60jon|2012:07:01|30alex|2012:07:01|80alex|2012:07:01|85alex|2011:05:01|40emile|2011:01:01|89我想为每个名字获取一些行,并使用规则提供有关他的score_grading的信息:得分>79=A,80>分数>49=B否则C.问题是,我想要:如果在同一天有多个相同的score_grade为一个学生,那么它将被计为一