标签: distinct

选择平均值和不同值SQL

我有一张纬度,经度和美国州的地点表.我想选择每个州的平均纬度和经度.

我正在尝试以下代码,但我得到一个语法错误明确.

select avg(lat), avg(lon), distinct(state) from tRealtyTrac order by state group by state 
Run Code Online (Sandbox Code Playgroud)

sql select average distinct

0
推荐指数
1
解决办法
6444
查看次数

可以使用哪些索引来改进此查询?

此查询选择特定日期范围内的所有唯一访问者会话:

select distinct(accessid) from accesslog where date > '2009-09-01'
Run Code Online (Sandbox Code Playgroud)

我有以下字段的索引:

  • ACCESSID
  • 日期
  • 其他一些领域

这是解释的样子:

mysql> explain select distinct(accessid) from accesslog where date > '2009-09-01';
+----+-------------+-----------+-------+----------------------+------+---------+------+-------+------------------------------+
| id | select_type | table     | type  | possible_keys        | key  | key_len | ref  | rows  | Extra                        |
+----+-------------+-----------+-------+----------------------+------+---------+------+-------+------------------------------+
|  1 | SIMPLE      | accesslog | range | date,dateurl,dateaff | date | 3       | NULL | 64623 | Using where; Using temporary |
+----+-------------+-----------+-------+----------------------+------+---------+------+-------+------------------------------+


mysql> explain select distinct(accessid) from accesslog;
+----+-------------+-----------+-------+---------------+----------+---------+------+---------+-------------+
| …
Run Code Online (Sandbox Code Playgroud)

mysql indexing optimization distinct

0
推荐指数
1
解决办法
203
查看次数

使用两个参数计算DISTINCT语句中的多个外观?

我试图从包含company_id和person_id的表中筛选(或统计)具有多个联系人的公司.目前我这样做:

SELECT DISTINCT company_id,person_id FROM mytable GROUP BY company_id ORDER BY company_id
Run Code Online (Sandbox Code Playgroud)

以及

SELECT DISTINCT company_id FROM mytable
Run Code Online (Sandbox Code Playgroud)

第一个查询返回多行.因此很明显,有多个联系人的公司.从两个查询之间的不同行数我甚至可以告诉他们有多少.虽然我想知道如何准确选择那些分配了多个person_id的公司.

请提前获取任何帮助!

mysql distinct

0
推荐指数
1
解决办法
1408
查看次数

MySQL联盟为两个表,然后在第三个表中合并匹配?

我有三个MySQL表,我试图查询到一个结果.尽管我已经接近了这一点,但我认为这是可能的,但是我已经在最后一部分工作方面遇到了障碍.

基本上我有两个表(table_one和table_two),我正在尝试UNION DISTINCT,它完美地运行.当我试图引入第三张表时,它全部爆炸并决定不返回任何东西.我确定这是用户错误:)

这段代码可能没有把所有东西放在正确的位置,因为我正在尝试这样做,所以也许我只需要在正确的方向上稍微推动一下.

SELECT
    part_code,
    name
FROM
    table_three

WHERE
    table_three.part_code = (

    SELECT
        part_code
    FROM
        table_one

    UNION DISTINCT
    SELECT
        part_code
    FROM
        table_two
)

ORDER BY
    name ASC
Run Code Online (Sandbox Code Playgroud)

我感谢有人可以提供的任何方向.

mysql union distinct

0
推荐指数
1
解决办法
5454
查看次数

JPA NamedQuery得到不同的列

我想从我的用户表中获取不同城市的列表.我认为下面的代码可以工作,但会出错:

User.java
@Entity
@Table(name="user_info")
...
@NamedQuery(name = "User.all.cities", query = "SELECT distinct u.city FROM User u"),
...
@embedded
private City city;

UserBusinessLogic.java:
...
TypedQuery<City> typedQuery = entityManager.createNamedQuery("User.all.cities",User.class);
List<City> names = typedQuery.getResultList();
...
Run Code Online (Sandbox Code Playgroud)

它给出:类型不匹配无法将List转换为List.我尝试了两个第一个用户然后在getResult一个城市,但同样的错误下面一行.

我看到了一些示例,但并没有真正说明如何使用正确的代码来获取它只是SQL语法.

谢谢你的帮助

枷锁

jpa distinct

0
推荐指数
1
解决办法
2万
查看次数

如何在SQL Server 2008中将列与where子句一起使用distinct?

我想获得特定列的不同值,但如果选择了3列以上,则不能正确管理duplicity.

查询是:

SELECT DISTINCT 
  ShoppingSessionId, userid 
FROM 
  dbo.tbl_ShoppingCart 
GROUP BY 
  ShoppingSessionId, userid 
HAVING
  userid = 7
Run Code Online (Sandbox Code Playgroud)

此查询产生正确的结果,但如果我们添加另一列,则结果是错误的.

请帮助我,因为我想使用ShoppingSessionIdas作为一个独特的,除非我想使用表中的所有列,包括使用该where子句.

我怎样才能做到这一点?

distinct where-clause sql-server-2008

0
推荐指数
1
解决办法
4933
查看次数

SQL区别但不是那么明显的查询

也许我过于复杂了......

我只需要一个"简单"查询来选择一列,但只返回不同的行.
这是关键,如果它们相似,则需要排除它们,而不仅仅是完全匹配.

例如,这是我当前的查询

select distinct channel from audio_srcs order by channel
Run Code Online (Sandbox Code Playgroud)

诀窍是返回类似下面的内容

Channel
--------
1001
1003
1003 <Description@unitid>
1004
1004 <Description@unitid>
Run Code Online (Sandbox Code Playgroud)

我想要显示1003行中的唯一一行,以及1004行中的一行(例如).我不关心它返回哪一个.

我想要的最终结果如下:

Channel
---------
1001
1003
1004
etc.
Run Code Online (Sandbox Code Playgroud)

sql select distinct

0
推荐指数
1
解决办法
196
查看次数

在mysql的select查询中区别不通

我在这样的mysql数据库的 select查询中使用 distinct

$query=mysql_real_escape_string($_GET['query']);
$query_for_result=mysql_query("SELECT DISTINCT *
FROM vendor
LEFT JOIN branches ON branches.vendor_id = vendor.vendor_id
WHERE
(vendor.name LIKE '%".$query."%'
OR vendor.description LIKE '%".$query."%'
OR branches.city LIKE '%".$query."%')");
$qrow=mysql_fetch_array($query_for_result);
if(empty($qrow)){
   while($qrow=mysql_fetch_array($query_for_result)){

          Some Code to display result 
<?php
   }
    mysql_close();
}
    ?>
Run Code Online (Sandbox Code Playgroud)

问题是这个,它多次显示每个结果,它从分支表中显示每个结果和它喜欢的城市,(意味着:如果供应商表中的结果在分支表中有5个城市它将显示5次)

php mysql database select distinct

0
推荐指数
1
解决办法
6427
查看次数

为什么将Select to List的结果返回null

为什么我的方法GetList()在linq语句后返回null?

public static List<MyType> GetListOfAllLocations()
{
    var DistinctList = ListWith25Elements.GroupBy(x => x.id).Select(y => y.First());

    return DistinctList as List<MyType>
}
Run Code Online (Sandbox Code Playgroud)

...

foreach(MyType mt in GetListOfAllLocations())... // this is null?!?!
Run Code Online (Sandbox Code Playgroud)

c# linq var list distinct

0
推荐指数
1
解决办法
548
查看次数

SELECT DISTINCT不起作用

假设我有一个表名TableA,其中包含以下部分数据:

LOOKUP_VALUE     LOOKUPS_CODE     LOOKUPS_ID
------------     ------------     ----------
          5%              120           1001
          5%              121           1002
          5%              123           1003
          2%              130           2001
          2%              131           2002
Run Code Online (Sandbox Code Playgroud)

我想使用DISTINCT仅选择1行5%和1行2%作为视图,但它失败了,我的查询是:

SELECT DISTINCT lookup_value, lookups_code
  FROM TableA;
Run Code Online (Sandbox Code Playgroud)

上面的查询给出了如下所示的结果.

LOOKUP_VALUE     LOOKUPS_CODE     
------------     ------------     
          5%              120           
          5%              121           
          5%              123           
          2%              130           
          2%              131           
Run Code Online (Sandbox Code Playgroud)

但这不是我预期的结果,mt预期结果如下所示:

LOOKUP_VALUE     LOOKUPS_CODE     
------------     ------------     
          5%              120                                
          2%              130           
Run Code Online (Sandbox Code Playgroud)

我可以知道如何在不指定任何WHERE子句的情况下实现此目的吗?谢谢!

sql oracle select distinct

0
推荐指数
1
解决办法
4708
查看次数

标签 统计

distinct ×10

mysql ×4

select ×4

sql ×3

average ×1

c# ×1

database ×1

indexing ×1

jpa ×1

linq ×1

list ×1

optimization ×1

oracle ×1

php ×1

sql-server-2008 ×1

union ×1

var ×1

where-clause ×1