我正在尝试使用MySQL计算唯一IP地址的总数,这是我的查询结果:
SELECT COUNT(`id`) as `count` FROM `pageviews` WHERE `timestamp` BETWEEN '1299675600' AND '1299762000' GROUP BY `client_ip`
我唯一的问题是,它是计算该IP地址的结果,在MySQL中有一种方法只计算每批IP地址,唯一地计算它们,而不是对它们进行分组,然后再计算它们。
干杯。
(很抱歉标题,我真的不知道如何表达:-)
我有一个表,它有一个date和一个uid字段。
我需要获取每个日期的uid数量,目前我在php中运行多个查询,如下所示:
SELECT COUNT(uid) FROM users where Date = 'xxx';
有没有一种简单的方法来实现这一点,只使用一个sql查询?
我有一张这样的桌子:
Id Subdistrict District
-----------------------------
1 K S
2 K S
3 M S
4 J B
5 J B
如果相同的分区(也包括地区)值计算为1,我希望它返回如下结果:
分区=3(因为只有K、M和J分区)
分区=2(因为只有S区和B区)
如何编写sql查询?(预先谢谢:)
我有下面的代码来查询一个检索数组的表。参数$idList可能有多个值,因此可能会产生重复的值。我只对插入一个唯一的memalertid感兴趣。
任何关于如何删除重复项的建议都将不胜感激。
$sql = mysql_query("SELECT memalertid from memlist where listID IN ($idList) AND (emailyes = '1') ");
while ($info = mysql_fetch_array($sql)){
$insert_query = "insert into subsalerts (m
在尝试学习MySQL的过程中,我一直在解决Hackerrank的问题。我被困在,上面写着:
"...find表中城市条目总数与表中不同城市条目数之间的差异。“
这样做的目的是输出一个单一的答案N' - N。
模式如下所示:
为此,我尝试的查询是:
select count(s2.c2) - count(s1.c1)
from (select city as c1 from station group by city) as s1,
(select city as c2 from station) as s2;
我也尝试过许多其他的变体,但它们都没有给出正确
我在MySQL查询中遇到了一个奇怪的问题。下面的查询将返回0结果,而应该返回许多行。查询是
SELECT DISTINCT SKU, EAN, URL, CID
FROM tab_comp_data
WHERE status =''
在许多行中,STATUS列中都有空值,但它不返回任何行。
我试过其他方法了。
SELECT DISTINCT SKU, EAN, URL, CID
FROM tab_comp_data
WHERE status <>'INACT'
这也不返回任何行。
状态列只能是NULL或'INACT'
我有一个MySQL表:
当我使用以下查询计算一月份的条目时:
SELECT COUNT(*) AS entries FROM daily_call_reports WHERE Month(datetime_in)='01' AND emp_id='E0001'
我得到了结果5。但我想将相同的日期行计数为1。表中有两行日期相同的2016-01-21。现在如何将这两行算作一行..
假设我有一个Transaction模型,其中有以下[token, pair_token, amount, related_transaction]字段,我想在mysql中生成这样的查询:
SELECT token_id, pair_token_id, (
SELECT ABS(t3.amount / t2.amount) price
FROM
Transaction t2 join Transaction t3 on t2.related_transaction_id=t3.id
WHERE t2.id=MAX(t1.id))
FROM
Transactio
我在MySQL服务器中工作,并希望运行一个查询多个用户I来返回统计信息。
select
Firstname,
Lastname,
email,
count(distinct startTime) as "total Rounds",
MAX(starttime) as "Last Round"
from users.users
join rounds.rounds on rounds.rounds.userId = users.users.userId
where users.userid and rounds
我对MySQL和数据库很陌生,在很多地方我都看到在MySQL的SELECT字段中使用子查询并不是一个很好的编程实践,如下所示:
select userid, avg(num_pages)
from (select userid , pageid , regid , count(regid) as num_pages
from reg_pag
where ativa = 1
group by userid, pageid) as from_query
group by userid;
它计算用户拥有的每个页面的平均寄存器数。
reg_page表如下所
这里是我的MySQL查询,用于显示文件夹中的电子邮件(当然是精简的).
SELECT em.id
FROM email_messages AS em
LEFT JOIN email_attachments AS ea on ea.id_email=em.id
WHERE em.id='4'
问题是,如果一封电子邮件有多个附件,相同的电子邮件将出现两次,例如email_message和id 4。
如果不更改SQL表的结构,如何返回任何值(例如1)来表示电子邮件有附件而不返回重复的行?
我需要在桌子上找到复制件。在MySQL中,我只需写:
SELECT *,count(id) count FROM `MY_TABLE`
GROUP BY SOME_COLUMN ORDER BY count DESC
这个查询很好:
基于SOME_COLUMN查找重复项,并给出其重复计数。
排序按顺序重复,这是有用的快速扫描主要的欺骗。
为所有剩余的列选择一个随机值,使我对这些列中的值有一个概念。
Postgres中的类似查询向我问好时出错:
列"MY_TABLE.SOME_COLUMN“必须出现在GROUP子句中,或用于聚合函数中。
与此查询等效的Post
如何在MySQL中构造一个查询来计算一个组的结果?所以,
表A
Month Item
Jan 1
Jan 3
Feb 2
Feb 2
Mar 3
表B
Item Color
1 red
1 blue
2 black
3 black
3 yellow
我想要一个查询,它将告诉我表A中有多少项存在于表B中,其中每个月至少有两种颜色。换句话说,我每个月卖出了多少颜色超过2种颜色的商品。因此,结果将是:
Month Results
Jan 2
我正在将一个模式从Postgres转换为MySQL,并且由于显然缺少一个内置函数来聚合一组由(子)查询返回的结果,例如,Postgres的string_agg()。具体来说,假设表t有3行:
COL
"x"
"y"
"z"
在Postgres中,SELECT string_agg(col, ',') FROM t将返回与指定分隔符(即字符串x,y,z )连接的所有COL值的一行结果。我如何在MySQL中实现这一点?
下面是我的两个查询,其中只添加一个剩下的联接结果就会造成混乱。第二个查询结果是准确的,但是在第一个查询中,通过多添加一个左联接输出是不对的(正如您所看到的,我只添加了一个左联接,但是我没有在where子句中为那个联接添加任何过滤)。请告诉我如何解决这个问题?谢谢,
第一次查询:
SELECT Distinct count(event_id) as event_count from events
Left Join events on events.event_id = my_events.i_event_id
Left Join atdees on events.event_id = a
我有一个非常大的MySQL数据库,我需要知道它有多少外键。我试过命令:
SELECT COUNT(*) AS 'number of foreign keys'
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE TABLE_SCHEMA='pubs'
AND REFERENCED_TABLE_NAME IS NOT NULL;
在一个小型数据库(酒吧)中,它返回正确的外键数,但我不确定在所有情况下这个查询是否正常。这个查询正确吗?还有别的办法吗?
提前谢谢。
我的数据库中有一个这样的数据:
jamu_a | jamu_b | khasiat
A | B | Z
A | B | X
A | B | C
然后,我想要这样的输出:
jamu_a | jamu_b | khasiat | total
A | B | Z, X, C | 3
我不是MySQL专家,什么样的查询才能产生这样的输出呢?如果MySQL不能做到这一点,需要一些编程语言,请告诉我。提前感谢
我有下一个mysql查询
SELECT DISTINCT * FROM dom_small WHERE count>=0 AND dom NOT IN
(SELECT dom FROM dom_small WHERE was_blocked=1)
ORDER BY count DESC LIMIT 30 OFFSET 4702020
当我越来越多地增加偏移量时,子查询运行得越来越长。
当偏移量为0时mysql查询加载0秒但当4702020 mysql查询加载1分19秒49秒时
如何解决这个问题?
如果这个问题表达得不好,请提前道歉!
我有一个包含datetime字段的MySQL表。对于不同的星期,如何计算每一天名称的出现次数?
这是我正在尝试的查询,以及它从刚刚超过2周的数据中得出的结果。它(显然)计算每条记录的每次出现次数,而我希望输出为2或3。
SELECT dayname(datetime), COUNT(dayofweek(datetime))
FROM mytable GROUP BY dayofweek(datetime);
+-------------------+----------------------------+
| dayname(datetime)