使用选择查询将值添加到配置单元列

时间:2020-10-30 09:29:05

标签: sql hive max hiveql sql-view

我有一个具有5列的配置单元表AAA,例如A,B,C,D,E。我想将列F添加到AAA,这样F的所有行都应包含E的最大值。 例子:

表AAA

import SpriteKit
import GameplayKit

class CellScene: SKScene, BoxDelegate {

    var box = Box()
    var box2 = Box()
    var box3 = Box()
    var Boxes: [Box] = []
    var Slots: [CGPoint] = []
    var swiped = ""

    override func sceneDidLoad(){
        createBoxes()
        createSlot()
    }

    func boxSwiped(to: String) {
        swiped = to
    }

    override func update(_ currentTime: TimeInterval) {
        checkBox()
    }
    
    func createSlot(){
        Slots[0] = CGPoint(x: UIScreen.main.bounds.width/2 , y: UIScreen.main.bounds.height/2)
        Slots[1] = CGPoint(x: UIScreen.main.bounds.width/5, y: UIScreen.main.bounds.height/2)
        Slots[2] = CGPoint(x: UIScreen.main.bounds.width  - UIScreen.main.bounds.width/5, y: UIScreen.main.bounds.height/2)
    }
    
    func createBoxes(){
        box = Box(color: .white, size: CGSize(width: 200, height: 200))
        box.zPosition = 1
        box.position = CGPoint(x: UIScreen.main.bounds.width/2 , y: UIScreen.main.bounds.height/2)
        box.name = "1"
        box.boxDelegate = self
        addChild(box)

        box2 = Box(color: .blue, size: CGSize(width: 200, height: 200))
        box2.zPosition = 1
        box2.name = "2"
        box2.position = CGPoint(x: UIScreen.main.bounds.width/5, y: UIScreen.main.bounds.height/2)
        box2.boxDelegate = self
        addChild(box2)

        box3 = Box(color: .red, size: CGSize(width: 200, height: 200))
        box3.zPosition = 1
        box3.name = "3"
        box3.position = CGPoint(x: UIScreen.main.bounds.width  - UIScreen.main.bounds.width/5, y: UIScreen.main.bounds.height/2)
        box3.boxDelegate = self
        addChild(box3)
        
        Boxes = [box, box2, box3]
    }
    
    func checkBox(){
        for i in 1...3 {
            let node = childNode(withName: String(i))
            
            var rest: CGFloat = 0
            let minus = UIScreen.main.bounds.width/2 + ((UIScreen.main.bounds.width/2) - node!.position.x)
            
            if (UIScreen.main.bounds.width/2)/node!.position.x < 1 {
                rest = (UIScreen.main.bounds.width/2)/node!.position.x
            } else {
                rest = (UIScreen.main.bounds.width/2)/minus
            }
            node!.xScale = rest
            node!.yScale = rest
            
            if Boxes[i].position == Slots[0] {
                Boxes[i].clickable = true
            }
        }
    }
}

将F列添加到AAA。决赛桌应该有这样的东西。

A|B|C|D|E 
__________
1|2|3|4|5
2|3|4|5|6
3|4|5|6|7

1 个答案:

答案 0 :(得分:0)

您可以使用窗口功能:

select t.*, max(e) over() as f
from aaa t

我不建议存储此派生的信息,因为很难维护(每行任何e值更改时,都可能需要重新计算while f列)。 / p>

一种替代方法是创建一个视图:

create view v_aaa as
select t.*, max(e) over() as f
from aaa t
相关问题