基于SQL减去基于日期和另一列的两行我有一个好主意,但我需要别的东西。
我有下表(库存):
animal date quantity
dog 2015-01-01 400
cat 2015-01-01 300
dog 2015-01-02 402
rabbit 2015-01-01 500
cat 2015-01-02 304
rabbit 2015-01-02 508
rabbit 2015-01-03 524
rabbit 2015-01-04 556
rabbit 2015-01-05 620
rabbit 2015-01-06 748
Run Code Online (Sandbox Code Playgroud)
通过运行此查询:
SELECT a.animal, a.Date
AS actual_date, past_date.Date
AS past_date, (a.quantity - past_date.quantity)
AS quantity_diff
FROM inventory a
JOIN
(SELECT b.animal, b.date AS date1,
(SELECT MAX(c.date)
FROM inventory c
WHERE c.date < b.date AND c.animal = b.animal
GROUP BY c.animal)
AS date2
FROM inventory …Run Code Online (Sandbox Code Playgroud) 最后,我可以使用"-a"开关获得base64格式的输出; 我可以使用任何十六进制开关吗?
echo '0: 63616e746765747468697332776f726b' | xxd -r | openssl enc -aes-128-ecb -a -K 00000000000000000000000000000000
Run Code Online (Sandbox Code Playgroud)
如果我运行该代码,我会得到这个:
N2+bVLU8fIS7ucFW1Qr/xwFD22PuZrDN/59pkXaAFR4=
Run Code Online (Sandbox Code Playgroud)
......不知怎的,它也是错的,因为它应该只是这样:
N2+bVLU8fIS7ucFW1Qr/xw==
Run Code Online (Sandbox Code Playgroud)
无论如何,我只需要能够提出这个输出:
376f 9b54 b53c 7c84 bbb9 c156 d50a ffc7
Run Code Online (Sandbox Code Playgroud) 我想用这个:
<?php
$string1 = 'V2h5IEkgY2FuJ3QgZG8gdGhpcyEhISEh';
echo base64_decode($string1);
?>
Run Code Online (Sandbox Code Playgroud)
此示例的输出应始终为 18 个字符!但有时这个输出小于18。
24(base64 字符)乘以 6(每个 base64 字符的位数)等于 144(位)除以 8(每个 ASCII 字符的位数)等于 18 个 ASCII 字符。
问题是输出以纯文本显示;并且某些字符甚至没有“文本表示”,并且该数据将丢失。下一个测试将显示有 41 个不同的 ASCII 字符没有可见输出。
<?php
for ($i = 0; $i <= 255; $i++) {
$string2 = chr($i);
echo $i . " = " . $string2 . "<br>";
}
?>
Run Code Online (Sandbox Code Playgroud)
我的计划是解码 base64 字符串,然后从 ASCII 输出中将其重新转换为十六进制。现在这是不可能的,因为这 41 个字符。
我也试过,base_convert但没有 base64 支持。
我有一个非重复数字列表; 我需要以随机的方式显示所有这些数字.来自http://www.w3schools.com/php/func_array_rand.asp我学到了一些没有运气的方法.如果我使用"array_rand",则所有输出必须按递增顺序排列; 所以我的最终输出将始终按顺序从1到10,没有随机性.
<!DOCTYPE html>
<html>
<body>
<?php
$a=array(1,2,3,4,5,6,7,8,9,10);
$random_keys=array_rand($a,10);
echo $a[$random_keys[0]]."<br>";
echo $a[$random_keys[1]]."<br>";
echo $a[$random_keys[2]]."<br>";
echo $a[$random_keys[3]]."<br>";
echo $a[$random_keys[4]]."<br>";
echo $a[$random_keys[5]]."<br>";
echo $a[$random_keys[6]]."<br>";
echo $a[$random_keys[7]]."<br>";
echo $a[$random_keys[8]]."<br>";
echo $a[$random_keys[9]]."<br>";
?>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我有2列,使用此代码生成"x"和"y":
x = 1:8
y = c(2,7,1,3,5,4,1,2)
data = data.frame(x,y)
Run Code Online (Sandbox Code Playgroud)
它看起来像这样:
x y
1 2
2 7
3 1
4 3
5 5
6 4
7 1
8 2
Run Code Online (Sandbox Code Playgroud)
现在我想继续将所有先前的"y"行添加到"z"中.
x y z
1 2 2
2 7 9
3 1 10
4 3 13
5 5 18
6 4 22
7 1 23
8 2 25
Run Code Online (Sandbox Code Playgroud)
我没有运气就尝试了一切.