क्वेरी में मान कैलकुलेट करना

Python में Databases का परिचय

Jason Myers

Co-Author of Essential SQLAlchemy and Software Engineer

Math ऑपरेटर

  • जोड़ +
  • घटाव -
  • गुणा *
  • भाग /
  • मॉड्यूलस %
  • अलग-अलग डेटा टाइप पर अलग तरह से काम करते हैं
Python में Databases का परिचय

अंतर निकालना

stmt = select([census.columns.age,           
        (census.columns.pop2008 -
        census.columns.pop2000).label('pop_change')
    ])

stmt = stmt.group_by(census.columns.age) stmt = stmt.order_by(desc('pop_change'))
stmt = stmt.limit(5)
results = connection.execute(stmt).fetchall() print(results)
[(61, 52672), (85, 51901), (54, 50808), (58, 45575),
(60, 44915)]
Python में Databases का परिचय

Case स्टेटमेंट

  • किसी शर्त के आधार पर डेटा को अलग तरह से ट्रीट करने के लिए
  • मिलान करने के लिए शर्तों की सूची लेता है और शर्त मिलने पर लौटाने वाला कॉलम
  • सूची के अंत में else क्लॉज होता है, ताकि कोई रिकॉर्ड पहले की शर्तों से न मिले तो क्या करना है तय हो सके
Python में Databases का परिचय

Case उदाहरण

from sqlalchemy import case

stmt = select([ func.sum( case([ (census.columns.state == 'New York', census.columns.pop2008) ], else_=0))])
results = connection.execute(stmt).fetchall() print(results)
[(19465159,)]
Python में Databases का परिचय

Cast स्टेटमेंट

  • डेटा को दूसरे टाइप में बदलता है
  • उपयोगी है बदलने के लिए...
    • division के लिए integers को floats में
    • strings को दिनांक/समय में
  • एक कॉलम या अभिव्यक्ति और target Type लेता है
Python में Databases का परिचय

प्रतिशत का उदाहरण

from sqlalchemy import case, cast, Float

stmt = select([ (func.sum( case([ (census.columns.state == 'New York', census.columns.pop2008) ], else_=0)) / cast(func.sum(census.columns.pop2008), Float) * 100).label('ny_percent')])
results = connection.execute(stmt).fetchall() print(results)
[(Decimal('6.4267619765'),)]
Python में Databases का परिचय

अभ्यास करते हैं!

Python में Databases का परिचय

Preparing Video For Download...