我有一张纬度,经度和美国州的地点表.我想选择每个州的平均纬度和经度.
我正在尝试以下代码,但我得到一个语法错误明确.
select avg(lat), avg(lon), distinct(state) from tRealtyTrac order by state group by state
Run Code Online (Sandbox Code Playgroud) 此查询选择特定日期范围内的所有唯一访问者会话:
select distinct(accessid) from accesslog where date > '2009-09-01'
Run Code Online (Sandbox Code Playgroud)
我有以下字段的索引:
这是解释的样子:
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) 我试图从包含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表,我试图查询到一个结果.尽管我已经接近了这一点,但我认为这是可能的,但是我已经在最后一部分工作方面遇到了障碍.
基本上我有两个表(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)
我感谢有人可以提供的任何方向.
我想从我的用户表中获取不同城市的列表.我认为下面的代码可以工作,但会出错:
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语法.
谢谢你的帮助
枷锁
我想获得特定列的不同值,但如果选择了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子句.
我怎样才能做到这一点?
也许我过于复杂了......
我只需要一个"简单"查询来选择一列,但只返回不同的行.
这是关键,如果它们相似,则需要排除它们,而不仅仅是完全匹配.
例如,这是我当前的查询
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) 我在这样的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次)
为什么我的方法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) 假设我有一个表名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子句的情况下实现此目的吗?谢谢!