小编Mad*_*iya的帖子

计算电子钱包系统中的可用余额(不包括过期信用)

积分表中,我有

(id,user_id,进程,金额,date_add,date_exp,date_redeemed,备注)

SELECT * FROM credits WHERE user_id = 2;
Run Code Online (Sandbox Code Playgroud)
+----+---------+---------+--------+------------+------------+---------------+----------+
| id | user_id | process | amount |  date_add  |  date_exp  | date_redeemed |  remark  |
+----+---------+---------+--------+------------+------------+---------------+----------+
| 22 |       2 | Add     | 200.00 | 2018-01-01 | 2019-01-01 |               | Credit1  |
| 23 |       2 | Add     | 200.00 | 2018-03-31 | 2019-03-31 |               | Credit2  |
| 24 |       2 | Deduct  | 200.00 |            |            | 2018-04-28    | Redeemed |
| 25 …
Run Code Online (Sandbox Code Playgroud)

php mysql sql

4
推荐指数
1
解决办法
276
查看次数

在 MySQL 中使用窗口函数移动平均

我的数据集如下:

Date              Price     3 Day Moving Average
-------------------------------------------------
2018-08-01         10        
2018-08-02         12       
2018-08-03         11        11    (10+12+11)/3\n
2018-08-04         15        12.67 (12+11+15)/3
2018-08-05         13        13    (11+15+13)/3
2018-08-06         17         ...
2018-08-07         18         …
2018-08-08         20         ..
Run Code Online (Sandbox Code Playgroud)

这是否可以仅使用 MySQL 窗口函数?

环境细节:

服务器版本:8.0.12 MySQL 社区服务器 - GPL

mysql sql mysql-8.0

3
推荐指数
1
解决办法
3130
查看次数

为WHERE条件选择相等数量的记录

我有一个数据库,其中有超过一百万条记录.我希望从3个不同条件的数据库中获得相同数量的记录.我目前正在使用执行3个MySQL查询的代码.我想知道是否有可能使用一个SELECT查询获得相同的结果?

以下代码为每个站点= X条件选择相等数量的20条记录.

<?php
/*---------*/
$db1 = mysqli_query($connect, "SELECT * FROM news WHERE site='1' ORDER BY id DESC LIMIT 0,20");

$db2 = mysqli_query($connect, "SELECT * FROM news WHERE site='2' ORDER BY id DESC LIMIT 0,20");

$db3 = mysqli_query($connect, "SELECT * FROM news WHERE site='3' ORDER BY id DESC LIMIT 0,20");

/*------------*/

?>
Run Code Online (Sandbox Code Playgroud)

php mysql sql mysqli

3
推荐指数
1
解决办法
58
查看次数

过去 6 个月的 SQL Server 查询

每次更新数据时,我都希望它只反映最近 6 个月的数据。以下是我当前的查询。有人可以帮我吗?

SELECT ar.[Report Date]
,ar.Facility
,SUM (ar.[0-30]) AS [0-30]
,SUM (ar.[31-60]) AS [31-60]
,SUM (ar.[61-90]) AS [61-90]
,SUM (ar.[91-120]) AS [91-120] 
,SUM (ar.[120+]) AS [120+]
FROM DBO.ARByPayer AS ar
WHERE ar.[Current Financial Class] <> 'Lien'
GROUP BY ar.Facility, ar.[Report Date]
ORDER BY ar. [Report Date]
Run Code Online (Sandbox Code Playgroud)

sql sql-server sorting select date

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

MYSQL-如何插入几何数据

我正在尝试使用 MYSQL 插入几何数据,这是一个代码示例:

CREATE TABLE CARTESIAN
(
ROW_ID INT NOT NULL,
G GEOMETRY,
PRIMARY KEY(ROW_ID)
)

INSERT INTO CARTESIAN
VALUES (0,'POINT(1 1)'), 
       (1,'LINESTRING(2 1, 6 6)'), 
       (2,'POLYGON((0 5, 2 5, 2 7, 0 7, 0 5))')
Run Code Online (Sandbox Code Playgroud)

当我运行 INSERT 时,我收到消息“无法从发送到 GEOMETRY 字段的数据中获取几何对象”。你能解释一下我错在哪里吗?

mysql geometry

3
推荐指数
1
解决办法
5825
查看次数

按枚举分组计数,包括可能计数为0的枚举值

我有一张桌子。字段之一是类别(由枚举表示)。有些类别的商品为零。

所以我这样做:

select category, count(*) as total from items group by category;
+------------+-------+
| category   | total |
+------------+-------+
| one        |  6675 |
+------------+-------+
Run Code Online (Sandbox Code Playgroud)

我想生成一个这样的表(其中两个是另一个可能的枚举值):

+------------+-------+
| category   | total |
+------------+-------+
| one        |  6675 |
+------------+-------+
| two        |  0    |
+------------+-------+
Run Code Online (Sandbox Code Playgroud)

如何使用mysql SQL查询执行此操作?

mysql mariadb

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

PHP-从数组中获取第一个和最后一个键和值

从给定的数组(例如$_SERVER:)中,我需要获取第一个和最后一个键和值。我试图使用 array_shift 来获取第一个值和键,但我得到的是值。

这是$_SERVER数组:

print_r($_SERVER, true))
Run Code Online (Sandbox Code Playgroud)

我尝试过:

echo array_shift($_SERVER);
Run Code Online (Sandbox Code Playgroud)

php arrays

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

取消设置操作后将 PHP 数组索引重置为从 0 开始

我有一个数组

$cars = array("Volvo", "BMW", "Toyota", "Mercedes");
Run Code Online (Sandbox Code Playgroud)

我想删除第一个元素“沃尔沃”,我用这个

unset($cars[0]);
Run Code Online (Sandbox Code Playgroud)

现在我有一个这样的数组:

Array
(   
    [1] Bmw
    [2] Toyota
    [3] Mercedes
)
Run Code Online (Sandbox Code Playgroud)

但我想我的数组再次从零开始,就像这样:

Array
(
    [0] Bmw
    [1] Toyota
    [2] Mercedes
)
Run Code Online (Sandbox Code Playgroud)

怎么做?

php arrays unset

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

GO 中字符串的 ASCII 编码

在 Ruby 中,您可以将字符串编码为 ASCII,如下所示:

str.force_encoding('ASCII')
Run Code Online (Sandbox Code Playgroud)

我们如何在 Go 中实现相同的目标?

encoding ascii go

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

MySQL 列长度最大为 1026 个字符

我在 MySQL 中的查询group_concat用于将多行中的值转换为单列。

SELECT
    user_id,
    group_concat(case when event = 'BORROWED' then book_id end 
                 separator ' ') as borrowed_books
FROM library_events 
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是borrowed_books将值连接到其中的临时列最大为 1026 个字符。我还看到列中的字符串在 1026 个字符后被截断。

如何为临时列设置/增加此值?

mysql

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

标签 统计

mysql ×6

php ×4

sql ×4

arrays ×2

ascii ×1

date ×1

encoding ×1

geometry ×1

go ×1

mariadb ×1

mysql-8.0 ×1

mysqli ×1

select ×1

sorting ×1

sql-server ×1

unset ×1