求大神教写SQL语句!!!!

12:28 提问
求大神帮我写一条查询增量的sql语句
如图,我有这些字段,每天都会插入一些数据
我现在需要获取的内容是
今天的read,click数据,和今天的减昨天的差值,和aid,规则如图
求大神帮我写一个
按赞数排序
SUM(d.read_num) AS READ,
SUM(d.click_num) AS click,
SUM(d.read_num - t.read_num) AS diffREAD,
SUM(d.click_num - t.click_num) AS diffclick,
tc_url AS u
LEFT JOIN tc_data AS d
ON d.uid = u.id
_d.read_num,
_d.click_num,
tc_url AS _u
LEFT JOIN tc_data AS _d
ON _d.uid = _u.id
WHERE _u.createtime = '昨天') AS t
ON t.aid = u.aid
WHERE u.createtime = '今天'
GROUP BY u.aid
机器没装SQL,脱手写的,你自己试试
你要求增量么?上星期我真好写过每日报表,是用spring data 做的,动态查询。
第一步:确定时间
// 前日0点
private static Date getLastDay(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DAY_OF_MONTH, -1);// 前一天
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
return cal.getTime();
// 每日0点前1毫秒
private static Date getNowDay(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
return DateUtils.addMilliseconds(cal.getTime(), -1);
第二步:动态查询
private List findUserActions() {
List actionList = userActionDao
.findAll(new Specification() {
public Predicate toPredicate(Root root,
CriteriaQuery&?& query, CriteriaBuilder builder) {
List predicates = Lists.newArrayList();
Path expression = root.get("actionTime");
Date beginTime = getLastDay(new Date());
Date endTime = getNowDay(new Date());
predicates.add(builder.between(expression, beginTime,endTime));
// 将所有条件用 and 联合起来
if (!predicates.isEmpty()) {
return builder.and(predicates
.toArray(new Predicate[predicates.size()]));
return builder.conjunction();
return actionL
大概就是这样,剩下的就要根据具体业务去修改。
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!
建议楼主在表中增加时间字段,这样你的问题就好解决了:
alter table tab_name add inserttime datetime after aid
哥们,你既然要计算昨天减今天的,你都没有date字段,你该如何来弥补这个问题?要么你在找找其他的表是否有这个字段,要么你就得加一个字段,否则谁都不知道我插入数据时是哪一天的,你说呢
你写一个今天零点零分的时间A和一个昨天零点零分的时间B用where判断一下,createTime大于等于A的就是今天的数据,大于等于B小于A的就是昨天的
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐这样的需求如何写SQL语句,求教!_百度知道
这样的需求如何写SQL语句,求教!
想在表甲的B列填写表乙的A列,条件:表甲的A列=表乙的B列。
比如,表甲代表邀请专家的表,A列代表领域,B列是要填写的专家名,表乙代表专家库,A列代表专家名,B列代表领域。 想要在表甲填表乙的专家名,从上至下选取足够数量的专家即可。
我有更好的答案
。。挺有意思,如果是Excel中用VBA语言实现的话。需要创建三个字典
1条折叠回答
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。求教大神一条sql语句..._百度知道
求教大神一条sql语句...
请问大神 怎么写一条语句 可以一次插入一排数据,比如红色字体的部分,想用一条语句从TIME1到TIME10全部插入90%, 怎么写? 如果是递减1%呢 怎么写?再好就是从90%到99% 随机怎么写???万分感谢....
如果是90%-99%随机数值.. 怎么写.
我有更好的答案
TIME1到TIME10全部插入90%insert&into&表名&(time1,time2,time3,time4,time5,time6,time7,time8,time9,time10)values&(90,90,90,90,90,90,90,90,90,90)TIME1到TIME10递减1%declare&@first&as&intselect&@first=99&--这里是初始值insert&into&表名&(time1,time2,time3,time4,time5,time6,time7,time8,time9,time10)values&(@first,@first-1,@first-2,@first-3,@first-4,@first-5,@first-6,@first-7,&&&&@first-8,@first-9)TIME1到TIME10从90%到99% 随机insert&into&表名&(time1,time2,time3,time4,time5,time6,time7,time8,time9,time10)&values&(floor(rand()*10)+90,floor(rand()*10)+90,floor(rand()*10)+90,&&&&floor(rand()*10)+90,floor(rand()*10)+90,floor(rand()*10)+90,&&&&floor(rand()*10)+90,floor(rand()*10)+90,floor(rand()*10)+90,&&&&floor(rand()*10)+90)
采纳率:70%
TIME1到TIME10全部插入90%insert&into&表名&(time1,time2,time3,time4,time5,time6,time7,time8,time9,time10)&values&(90,90,90,90,90,90,90,90,90,90)TIME1到TIME10递减1%需要写存储过程TIME1到TIME10从90%到99% 随机&&&&insert&into&表名&(time1,time2,time3,time4,time5,time6,time7,time8,time9,time10)&values&&&&(floor(rand()*10)+90,floor(rand()*10)+90,&&&&&&&&floor(rand()*10)+90,floor(rand()*10)+90,&&&&&&&&floor(rand()*10)+90,floor(rand()*10)+90,&&&&&&&&floor(rand()*10)+90,floor(rand()*10)+90,&&&&&&&&floor(rand()*10)+90,floor(rand()*10)+90)
为您推荐:
其他类似问题
sql语句的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。17:46 提问
求sql语句,求大神指教
查询每个人连续成功4次 mysql的
DROP TABLE IF EXISTS test;
CREATE TABLE test (Id int(11) NOT NULL AUTO_INCREMENT,a varchar(255) DEFAULT NULL,b varchar(255) DEFAULT NULL,ctime varchar(255) DEFAULT NULL,
PRIMARY KEY (Id)
) ENGINE=MyISAM AUTO_INCREMENT=20 DEFAULT CHARSET=utf8;
Data for table "test"
/*!40000 ALTER TABLE test DISABLE KEYS /;
INSERT INTO test VALUES (1,'小王','成功',' 00:00:00'),(2,'小王','成功',' 00:00:00'),(3,'小王','成功',' 00:00:00'),(4,'小王','成功',' 00:00:00'),(5,'小李','成功',' 00:00:00'),(6,'小张','失败',' 00:00:00'),(7,'小李','失败',' 00:00:00'),(8,'小红','失败',' 00:00:00'),(9,'小张','失败',' 00:00:00'),(10,'小红','成功',' 00:00:00'),(11,'小李','成功',' 00:00:00'),(12,'小红','成功',' 00:00:00'),(13,'小红','成功',' 00:00:00'),(14,'小红','成功',' 00:00:00'),(15,'小红','成功',' 00:00:00');
/!40000 ALTER TABLE test ENABLE KEYS */;
按赞数排序
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐后使用快捷导航没有帐号?
社区账号/云之家账号
记住登录状态
使用合作账号登录
快速安全登录
请使用云之家APP扫描二维码
扫码关注即可获取服务
现在我建立了两张单据 ,一项叫项目的单据,一张叫计工时的单据。项目的单据的单体用的数据库表和计工时单据用的数据库表单一样,项目单据单体显示的数据根据计工时单据中 项目单号查询出来,这样每增加一个计工时单据项目单据单体就自动增加一列,现在的问题就是项目单据单据的取数问题?项目单据单体取数如何做,求大神指点,是否可以写sql语句实现还是别人& & 感谢
16:20 上传
(12.43 KB, 下载次数: 8)
16:20 上传
下载次数: 8
有什么好办法实现 求大声
-9(投诉)
金蝶社区移动端
金蝶社区是金蝶产品官方服务互动门户,我们服务于金蝶产品用户,聚焦解决产品使用问题、提供产品操作教程、文档与工具,鼓励交流财务及管理信息,推动建立开放共赢企业生态圈。
金蝶版权所有 (C)
Kingdee Software (China) Inc. All Rights Reserved 粤ICP备号-18

我要回帖

更多关于 漂亮字的快写技巧 的文章

 

随机推荐